home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Tutorial / Cookbook / 26.HiLo / HiLo.m < prev    next >
Text File  |  1995-06-12  |  1KB  |  65 lines

  1. #import "HiLo.h"
  2. #import <stdio.h>
  3. #import <appkit/Form.h>
  4.  
  5. float getrand()
  6. {
  7.     return((float) rand()/(float) MAXRND);
  8. }
  9.  
  10. @implementation HiLo
  11.  
  12. + new
  13. {
  14.     self = [super new];
  15.     numberOfGuesses = 0;
  16.     number = (int) (100.0*getrand());
  17.     printf("%d\n", number);
  18.     return self;
  19. }
  20.  
  21. - setHint:anObject
  22. {
  23.     hint = anObject;
  24.     return self;
  25. }
  26.  
  27. - setNumberGuesses:anObject
  28. {
  29.     numberGuesses = anObject;
  30.     return self;
  31. }
  32.  
  33. - newGame:sender
  34. {
  35.     number = (int) (100.0*getrand());
  36.     numberOfGuesses = 0;
  37.     [numberGuesses setIntValue:0];
  38.     printf("%d\n", number);
  39.     return self;
  40. }
  41.  
  42. - guess:sender
  43. {
  44.     answer = [sender intValue];
  45.     if (answer > number) {
  46.         [hint setStringValue:"Too High"];
  47.         numberOfGuesses++;
  48.         [numberGuesses setIntValue:numberOfGuesses];
  49.         [sender selectTextAt:0];
  50.     }
  51.     else if (answer < number) {
  52.         [hint setStringValue:"Too Low"];
  53.         numberOfGuesses++;
  54.         [numberGuesses setIntValue:numberOfGuesses];
  55.         [sender selectTextAt:0];
  56.     }
  57.     else if (answer == number) {
  58.          [hint setStringValue:"That is Correct!"];
  59.     }
  60.     return self;
  61. }
  62.  
  63.  
  64. @end
  65.